package com.whfc.safety.service;

import com.whfc.common.exception.BizException;
import com.whfc.safety.dto.SafetyPartDTO;
import com.whfc.safety.dto.SafetyPartImportDTO;
import com.whfc.safety.dto.SafetyPartImportResultDTO;
import com.whfc.safety.param.SafetyPartAddParam;
import com.whfc.safety.param.SafetyPartEditParam;

import java.util.List;

/**
 * @ClasssName SafetyPartService
 * @Description 安全问题部位接口
 * @Author hw
 * @Date 2020/8/6 9:06
 * @Version 1.0
 */
public interface SafetyPartService {

    /**
     * 获取部位列表
     *
     * @param deptId 组织机构ID
     * @param keyword 搜索关键字
     * @return 部位列表
     * @throws BizException 业务异常
     */
    List<SafetyPartDTO> list(Integer deptId, String keyword) throws BizException;


    /**
     * 新增安全部位
     *
     * @param addParam 新增部位参数
     * @throws BizException 业务异常
     */
    void add(SafetyPartAddParam addParam) throws BizException;

    /**
     * 编辑安全部位
     *
     * @param editParam 修改部位参数
     * @throws BizException 业务异常
     */
    void edit(SafetyPartEditParam editParam) throws BizException;

    /**
     * 删除部位
     *
     * @param partId 部位ID
     * @throws BizException 业务异常
     */
    void del(Integer partId) throws BizException;

    /**
     * 导入部位
     *
     * @param deptId 组织机构ID
     * @param list   部位列表
     * @return 导入结果
     */
    SafetyPartImportResultDTO importPart(Integer deptId, List<SafetyPartImportDTO> list) throws BizException;
}
